Open
Conversation
change from double to single quotes in 01-sql_abstract_more_quoted.t to make it easier to compare with 08-sql_abstract_more_quoted.t add test for literal sql in joins with using() add test for CTE
Tables and columns were not properly quoted in all instances when the quote_char constructor option is set. Some were underquoted, some over quooted, and some table expressions were quoted. This lead iin the latter cases to illegal SQL. The intrinsic problem lies with treating them as strings, rather than as objects, so there is no "quote" or "quotable" state assigned to a given SQL fragment. The code has to rely upon heuristics to know when to quote (e.g. a bare identifier) and when not to quote (interpolation of an SQL expression). This requires carrying external state (e.g., the new is_literal flag from _parse_table and in the return from table_alias), and informing the quoting apparati in table_alias() and column_alias() of whether quoting is permissible via the "quote_name" and "quote_aliased_name" options.
This was referenced Aug 4, 2025
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Tables and columns were not properly quoted in all instances when the
quote_char constructor option is set. Some were underquoted, some over quooted,
and some table expressions were quoted. This lead iin the latter cases to illegal SQL.
The intrinsic problem lies with treating them as strings, rather than
as objects, so there is no "quote" or "quotable" state assigned to a
given SQL fragment. The code has to rely upon heuristics to know when
to quote (e.g. a bare identifier) and when not to quote (interpolation
of an SQL expression). This requires carrying external state (e.g.,
the new is_literal flag from _parse_table and in the return from
table_alias), and informing the quoting apparati in table_alias() and
column_alias() of whether quoting is permissible via the "quote_name"
and "quote_aliased_name" options.